package cn.tannn.surenessdemo.controller.dto;

import cn.jdevelops.entity.basics.vo.SerializableVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;

/**
 * 新增资源
 *
 * @author tnnn
 * @version V1.0
 * @date 2022-07-19 11:38
 */
@ApiModel(value = "更新资源", description = "资源管理")
@ToString
@Getter
@Setter
public class UpdateResourceDTO extends SerializableVO<UpdateResourceDTO> {

    /**
     * 资源编号
     */
    @ApiModelProperty(value = "资源编号", required = true)
    @NotBlank
    private String code;

    /**
     * 资源名称 e.g 获取token
     */
    @ApiModelProperty(value = "资源名称 e.g 获取token")
    private String name;

    /**
     * 资源地址 e.g /auth/token
     */
    @ApiModelProperty(value = "资源地址 e.g /auth/token")
    private String uri;

    /**
     * 资源类型（鉴权接口，静态文件，前端页面地址
     */
    @ApiModelProperty(value = "资源类型（鉴权接口，静态文件，前端页面地址")
    private String type;

    /**
     *
     */
    @ApiModelProperty(value = "访问类型: GET POST PUT DELETE PATCH")
    private String method;

    /**
     * 访问状态： 1:拦截、0：不拦截（此资源不生效不做权限控制）
     */
    @ApiModelProperty(value = "访问状态： 1:拦截、0：不拦截（此资源不生效不做权限控制）",example = "1")
    @Max(1)
    @Min(0)
    private Integer status;

    /**
     * 资源描述
     */
    @ApiModelProperty(value = "资源描述")
    private String description;


    /**
     * 资源标签（只允许有一个：eg.查询按钮）
     */
    @ApiModelProperty(value = "资源标签（只允许有一个：eg.查询按钮）")
    private String tag;
}
